#include <iostream>
#include <string>

class CatCafe {
private:
    enum class State {
        CLOSED,
        OPEN,
        CLEANING
    };
    State currentState;

public:
    CatCafe() : currentState(State::CLOSED) {}

    void open() {
        if (currentState == State::CLOSED) {
            std::cout << "猫咖开门营业。" << std::endl;
            currentState = State::OPEN;
        } else {
            std::cout << "当前状态无法开门。" << std::endl;
        }
    }

    void close() {
        if (currentState == State::OPEN) {
            std::cout << "猫咖关门。" << std::endl;
            currentState = State::CLOSED;
        } else {
            std::cout << "当前状态无法关门。" << std::endl;
        }
    }

    void startCleaning() {
        if (currentState == State::OPEN) {
            std::cout << "开始进行清洁。" << std::endl;
            currentState = State::CLEANING;
        } else {
            std::cout << "当前状态无法开始清洁。" << std::endl;
        }
    }

    void finishCleaning() {
        if (currentState == State::CLEANING) {
            std::cout << "清洁完成。" << std::endl;
            currentState = State::OPEN;
        } else {
            std::cout << "当前状态无法完成清洁。" << std::endl;
        }
    }
};

int main() {
    CatCafe catCafe;
    catCafe.open();
    catCafe.startCleaning();
    catCafe.finishCleaning();
    catCafe.close();

    return 0;
}